package eva.savant.businessobject.gl;

import eva.savant.businessobject.vt.Organizacion;
import eva.savant.businessobject.mt.Centro;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Collection;

@Table(name="GL_SOCIEDAD")
@javax.persistence.Entity(name = "gl.Sociedad")
public class Sociedad {

    @Id
    @Column(name = "ID_SOCIEDAD", length = 2, nullable = false)
    private String id; //ID Sociedad

    @Basic
    @Column(name = "NOMBRE", length = 30, nullable = false)
    private String nombre; //Nombre

    @Basic
    @Column(name = "DIRECCION", length = 80, nullable = false)
    private String direccion; //Direccion

    @Basic
    @Column(name = "TELEFONO", length = 25, nullable = false)
    private String telefono; //Telefono

    @Basic
    @Column(name = "ACTIVIDAD", length = 80, nullable = true)
    private String actividad; //Actividad Principal

    @Basic
    @Column(name = "NIT", length = 15, nullable = false)
    private String nit; //Numero de NIT

    @Basic
    @Column(name = "OPERACION_ID", length = 10, nullable = false)
    private Integer operacionId; //Operacion ID

    @Basic @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "FECHA_ID", length = 19, nullable = false)
    private Date fechaId; //Fecha Proceso ID

    @OneToMany
    (mappedBy = "sociedad")
    private Collection<Centro> lsCentro;

    @OneToMany
    (mappedBy = "sociedad")
    private Collection<Organizacion> lsOrganizacion;


    public Sociedad(String id, String nombre, String direccion, String telefono, String actividad, String nit, Integer operacionId) {

        this.id= id;

        this.nombre= nombre;

        this.direccion= direccion;

        this.telefono= telefono;

        this.actividad= actividad;

        this.nit= nit;

        this.operacionId= operacionId;

    }

    public Sociedad() {

    }


    public String getId() {
    
        return id;
    }
    
    public void setId(String id) {
    
        this.id = id;
    }

    public String getNombre() {
    
        return nombre;
    }
    
    public void setNombre(String nombre) {
    
        this.nombre = nombre;
    }

    public String getDireccion() {
    
        return direccion;
    }
    
    public void setDireccion(String direccion) {
    
        this.direccion = direccion;
    }

    public String getTelefono() {
    
        return telefono;
    }
    
    public void setTelefono(String telefono) {
    
        this.telefono = telefono;
    }

    public String getActividad() {
    
        return actividad;
    }
    
    public void setActividad(String actividad) {
    
        this.actividad = actividad;
    }

    public String getNit() {
    
        return nit;
    }
    
    public void setNit(String nit) {
    
        this.nit = nit;
    }

    public Integer getOperacionId() {
    
        return operacionId;
    }
    
    public void setOperacionId(Integer operacionId) {
    
        this.operacionId = operacionId;
    }

    public Collection<Centro> getLsCentro() {
    
        return lsCentro;
    }
    
    public void setLsCentro(Collection<Centro> lsCentro) {
    
        this.lsCentro = lsCentro;
    }

    public Collection<Organizacion> getLsOrganizacion() {
    
        return lsOrganizacion;
    }
    
    public void setLsOrganizacion(Collection<Organizacion> lsOrganizacion) {
    
        this.lsOrganizacion = lsOrganizacion;
    }

    @PreUpdate
    @PrePersist
    public void updateTimeFechaId() {

        this.fechaId = new Timestamp(new java.util.Date().getTime());
    }

}
